Due to the increasing miniaturization of ASIC structures, and decreasing operating voltages, transient errors in digital electronics represent an increasing challenge. For use in safety-critical systems, both transient errors and permanent errors must be recognized. Digital multipliers or squaring devices are a part of many electronic circuits and must therefore be monitored for both types of error.
In order to secure multipliers or squaring units, several methods are possible. One possible design is based on redundancy: the multiplication operation is carried out multiple times (either in temporal succession or in parallel on a plurality of multiplier units), and the results are compared to one another. The hardware and time outlay in this method is correspondingly very high.
A further possible design makes use of parity checking, or parity prediction. On the basis of the parities of the two operands of the multiplication, a prediction is made about the parity of the result. A disadvantage of this method is that individual errors that have multiple effects in the result word are not always detectable.
Another possible design makes use of residue code checking: similar to the approach based on parity prediction, on the basis of a property of the two operands (the residuum), a prediction is made about the residuum of the result. The residuum is the whole number remainder that results when one number is divided in whole-number fashion by another number (the so-called modulus).
In addition, further methods are possible, such as the use of Berger codes, two-rail encoding, or three-rail encoding, which can be used for monitoring.